home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1996 April
/
CHIP 1996 aprilis (CD06).zip
/
CHIP_CD06.ISO
/
szgyt
/
diffeng.txt
< prev
next >
Wrap
Text File
|
1996-02-06
|
5KB
|
112 lines
Differential Engine
Amíg a matematikusok nem voltak elkényeztetve az elektromos és elektronikus
számítógépek áradatával, egészen agyafúrt dolgokat is képesek voltak
kitalálni, csak hogy két számot össze tudjanak szorozni. Több matematikus is
konstruált alapmûveletek elvégzésére szolgáló szerkezeteket, ezek azonban
alig voltak nagyobbak (és hasznosabbak), mint egy kávédaráló.
Charles Babbage angol matematikusnak a tizenkilencedik század elején
nagyszabású terv fogant meg a fejében: sok száz fogaskereket tartalmazó
automatikus számológépet szeretett volna építeni. A "Differential Engine"
feladata függvénytáblázatok számítása lett volna. A számítógépek elôtti
korban egy-egy pontos függvénytáblázat kincset ért. Ma már szinte
hihetetlen, hogy a különféle (színusz, koszínusz, logaritmus, stb.)
táblázatokat akkoriban kézzel számolták ki. (Mikor a gimnáziumban arról
tanultunk, hogy hogyan lehet a logaritmus táblázat segítségével
hatékonyabban szorozni és osztani, a matematika tanárnônk azt találta
mondani, hogy függvénytáblázatokat csak a számítógépek feltalálása után
kezdtek készíteni. Arra a kérdésünkre, hogy "Ha van már számítógépünk, akkor
minek a függvénytáblázat? - gondolkodóba esett.)
Charles Babbage-nek soha nem sikerült megépíteni a gépét. Åltalánosan
elterjedt vélemény szerint azért, mert a kor technológiája nem volt eléggé
fejlett ahhoz, hogy a differential engine-hez szükséges nagyszámú egyforma
fogaskereket elkészítsék. A valóságban a terv kudarcának nem mûszaki, hanem
emberi okai voltak. Babbage folyton berhelt valamit, befejezni azonban soha
semmit sem fejezett be. Hamar elveszítette az érdeklôdését, s ilyenkor
mindig valami teljesen új dologba kezdett. Mihelyt a mûhelyben belefogtak a
gép egy-egy részének kivitelezésébe, Babbage asztaláról máris megérkezett a
"javított" terv változat, ami esetleg homlokegyenest ellentétes volt a
feltaláló korábbi elképzeléseivel. Charles Babbage-ban tehát nem csak a
világ elsô hardver építôjét, de a világ elsô buherátorát is tisztelhetjük.
A hálás utókor azonban az eredeti tervrajzok alapján elkészítette a masinát
és most ki is van állítva a londoni Science Museumban.
[Image]
A szerkezet egy kb. két méter magas monstrum, tele fogaskerékkel; az oldalán
látható kurblival kell mûködtetni. Ezt a látogatók természetesen nem
tekerhetik meg, ami a szerkezetet elnézve amúgy sem lehet egyszerû dolog.
(Közelebbrôl szemügyre véve a berendezést, a tengely másik végén fel is
fedeztem egy villanymotort - ez valószínûleg nem szerepelt Babbage eredeti
rajzain.)
A gép algoritmusa
Babbage abból a ténybôl indult ki, hogy egy polinomot kellôen sokszor
differenciálva, elôbb-utóbb konstanst kapunk. (Az eljárás végesdifferencia
módszer néven korábban is ismert volt, de Babbagenek támadt elôször az az
ötlete, hogy e módszeren alapuló gépet építsen.)
ìrjuk fel egymás alá az x négyzet függvény értékeit az elsô néhány egész
számra:
1 1
2 4
3 9
4 16
5 25
Most alkossunk egy újabb oszlopot, ahol az egymást követô függvény értékek
különbségeit számítjuk ki. Vagyis: 4 - 1 = 3, 9 - 4 = 5, stb
1 1 3
2 4 5
3 9 7
4 16 9
5 25
Most alkossunk egy újabb oszlopot, ahol az elôbb kiszámolt különbségek
különbsége szerepel:
1 1 3 2
2 4 5 2
3 9 7 2
4 16 9
5 25
Látszik, hogy ezek a különbségek állandók. Ha ezt a tényt kihasználva
jobbról balra haladva tovább építjük a táblázatot, akkor ki tudjuk számolni
az x négyzet értékeit tetszôleges egész számra, csupán összeadások
segítségével. Ha kisebbre vesszük a lépésközt, akkor természetesen nem
egészekre is ki lehet számolni a függvény értékeit.
Babagge ôs-számítógépe hetedfokú polinomok helyettesítési értékeinek
kiszámítására volt alkalmas, az eredményeket ráadásul ki is nyomtatta
valahogy (erre nem sikerült rájönnöm). A masina csak egész számokkal tudott
számolni, ezért a lebegôpontos számokat le kellett képezni egész számokra.
(Nem is olyan régen még a DSP processzorok is csak egész számokkal tudtak
számolni, így Babbage kései követôinek is részük lehetett ebben az
élményben.)
----------------------------------------------------------------------------
Megjegyzések
A világ elsô buherátora...
Ez az információ Joel Shurkin "Engines of the Mind" címû könyvébôl
származik. A szerzô egyebek mellett azt állítja, hogy egy svájci mûszerész
néhány évvel késôbb (de még Babbage életében) elkészítette a "differential
engine" egyszerûsített változatát. A szerkezet mûködôképes volt, meg is
vásárolta egy brit biztosító társaság. Ez újabb bizonyíték arra, hogy a kor
technikai színvonala lehetôvé tette volna az ôs-számítógép megépítését.
Elkészítette a masinát...
A gépet Charles Babbage születésének kétszázadik évfordulója tiszteletére
készítették el, és jelenleg a londoni Science Museum "Computing then and
now" címû számítástechnika-történeti kiállításán látható - sok más hasonló
furcsaság társaságában.